#ifndef __LIB_AGORA_CORE_NETWORK_H__
#define __LIB_AGORA_CORE_NETWORK_H__

/*!
 * \file Network.h
 * \brief Fonctions globales necessaires au fonctionnement du reseau
 */

#ifndef _WIN32
#include <sys/types.h>
#include <sys/socket.h>
#else
#include "winsock2.h"
#endif


namespace AgoraCore
{

	/*!
	*	\brief Initialise le reseau
	*	
	*	Initialise la gestion du reseau. Cette fonction doit etre appellee une fois avant toute utilisation de methode de classe ayant trait au reseau
	*
	*	\return Si la methode echoue un code d'erreur est retourne sinon 0 est renvoye
	*/
	unsigned int	AgoraNetworkInitialize();
	/*!
	*	\brief Desactive la gestion du reseau
	*	
	*	Desactive la gestion du reseau. Apres un appel a cette fonction la communication reseau n'est plus possible. Cette fonction devrait etre appellee une fois a la fermeture du programme ou a la fin de l'utilisation de la bibliotheque Agora
	*
	*	\return Si la methode echoue un code d'erreur est retourne sinon 0 est renvoye
	*/
	unsigned int	AgoraNetworkFinalize();
}

#endif
